Revised6 Report on the Algorithmic Language Scheme
نویسندگان
چکیده
Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, suffice to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today. Scheme was one of the first programming languages to incorporate first-class procedures as in the lambda calculus, thereby proving the usefulness of static scope rules and block structure in a dynamically typed language. Scheme was the first major dialect of Lisp to distinguish procedures from lambda expressions and symbols, to use a single lexical environment for all variables, and to evaluate the operator position of a procedure call in the same way as an operand position. By relying entirely on procedure calls to express iteration, Scheme emphasized the fact that tail-recursive procedure calls are essentially gotos that pass arguments. Scheme was the first widely used programming language to embrace first-class escape procedures, from which all previously known sequential control structures can be synthesized. A subsequent version of Scheme introduced the concept of exact and inexact number objects, an extension of Common Lisp’s generic arithmetic. More recently, Scheme became the first programming language to support hygienic macros, which permit the syntax of a block-structured language to be extended in a consistent and reliable manner. Revised6 Report on the Algorithmic Language Scheme
منابع مشابه
Implementing R7RS on an R6RS Scheme system
The Scheme language has three major standards; Revised Report on the Algorithmic language Scheme (R5RS) standardised in February 1998, the Revised Report on Algorithmic language Scheme (R6RS) standardised in September 2007 and the Revised Report on the Algorithmic language Scheme (R7RS) standardised in July 2013. R7RS, the latest standard of Scheme focuses on the R5RS compatibility thus making ...
متن کاملRevised 5 . 97 Report on the Algorithmic Language Scheme — Rationale —
This document describes rationales for some of the design decisions behind the Revised Report on the Algorithmic Language Scheme. The focus is on changes made since the last revision on the report. Moreover, numerous fundamental design decisions of Scheme are also explained. This report also contains some historical notes. The formal comments submitted for drafts of the report and their respons...
متن کاملRevised 6 Report on the Algorithmic Language Scheme — Rationale —
This document describes rationales for some of the design decisions behind the Revised Report on the Algorithmic Language Scheme. The focus is on changes made since the last revision on the report. Moreover, numerous fundamental design decisions of Scheme are explained. This report also contains some historical notes. The formal comments submitted for drafts of the report and their responses, a...
متن کاملProceedings of the 2014 Scheme and Functional Programming Workshop Program Committee Implementing R7rs on an R6rs Scheme System
The Scheme language has three major standards; Revised Report on the Algorithmic language Scheme (R5RS) standardised in February 1998, the Revised Report on Algorithmic language Scheme (R6RS) standardised in September 2007 and the Revised Report on the Algorithmic language Scheme (R7RS) standardised in July 2013. R7RS, the latest standard of Scheme focuses on the R5RS compatibility thus making ...
متن کاملRevised5.93 Report on the Algorithmic Language Scheme
The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy Lewis Steele Jr. and Gerald Jay Sussman. It was designed to have an exceptionally clear and simple semantics and few different ways to form expressions. A wide variety of programming paradigms, including im...
متن کامل